Productivity application programs may be used to create customized document templates with structured and reusable content. A document template may include a collection of reusable document parts, with each document part having a specifically-designed presentation format and type of content. The customized document template can then be used as a starting point to create a highly structured document. For instance, a company may create a report template with customized document parts, such as a first field for a title, a second field for a date, a third field for an image, and so forth. Individuals within the company may then repeatedly use the report template to generate company reports with a uniform company format and desired set of content.
Customized document parts may be created in a number of different ways, such as by using custom-defined content controls, markup languages, bookmarks, fields, styles, and so forth. Despite improvements in developer tools available to create custom document parts for structured document templates, however, entities such as businesses are constantly driving towards producing document templates capable of producing documents with increasing levels of richly-formatted content. As such, conventional developer tools are having difficulty in producing document templates capable of providing such richly-formatted content, and further, maintaining a separation between a view and an object model of an underlying application program used to generate the document template. It is with respect to these and other considerations that the present improvements have been needed.